package com.ruoyi.control.service;

import java.util.List;
import com.ruoyi.control.domain.Electricity;
import com.ruoyi.control.dto.*;

/**
 * 电力实时Service接口
 * 
 * @author ruoyi
 * @date 2024-11-09
 */
public interface IElectricityService {
    /**
     * 查询电力实时
     *
     * @param tagName 电力实时主键
     * @return 电力实时
     */
    public Electricity selectElectricityByTagName(String tagName);

    /**
     * 查询电力实时列表
     *
     * @param electricity 电力实时
     * @return 电力实时集合
     */
    public List<Electricity> selectElectricityList(Electricity electricity);

    /**
     * 新增电力实时
     *
     * @param electricity 电力实时
     * @return 结果
     */
    public int insertElectricity(Electricity electricity);

    /**
     * 修改电力实时
     *
     * @param electricity 电力实时
     * @return 结果
     */
    public int updateElectricity(Electricity electricity);

    /**
     * 批量删除电力实时
     *
     * @param tagNames 需要删除的电力实时主键集合
     * @return 结果
     */
    public int deleteElectricityByTagNames(String[] tagNames);

    /**
     * 删除电力实时信息
     *
     * @param tagName 电力实时主键
     * @return 结果
     */
    public int deleteElectricityByTagName(String tagName);

    /**
     * lqx
     * 查询电力实时列表(地面变电所-遥测)
     */
    public List<Electricity> selectGroundSubstationTelemetryList(String tagName);

    Electricity selectGroundSubstationConsumption(String tagName);
    /**
     * lqx
     * 查询电力实时列表(地面变电所-遥信)
     */
    public List<Electricity> selectGroundSubstationSignalingList(String tagName);

    /**
     * lqx
     * 查询电力实时列表(地下高压变电所1-遥测)
     */
    public List<Electricity> selectUndergroundSubstationH1TelemetryList(String tagName);

    /**
     * lqx
     * 查询电力实时列表(地下高压变电所2-遥测)
     */
    public List<Electricity> selectUndergroundSubstationH2TelemetryList(String tagName);

    /**
     * lqx
     * 查询电力实时列表(地面变电所-遥测+遥信)
     */
    public List<ElectricityDto> selectGroundSubstationList();

    /**
     * lqx
     * 查询电力实时列表(地面变电所-状态5_0)
     */
    public List<Electricity> listGroundSubstationStatus5_0();

    /**
     * lqx
     * 查询电力实时列表(地面变电所-状态0_0)
     */
    public List<Electricity> listGroundSubstationStatus0_0();

    /**
     * lqx
     * 查询电力实时列表(地下高压变电所-遥测)
     */
    public List<ElectricityUnderHDto> listUnderGroundSubstationH();

    /**
     * lqx
     * 查询电力实时列表(地下低压变电所-遥测)
     */
    public List<ElectricityUnderLDto> listUnderGroundSubstationL();

    /**
     * lqx
     * 查询电力实时列表(地下变电所L1-状态0_1)
     */
    public List<Electricity> listUnderGroundSubstationH1Status0_1();

    /**
     * lqx
     * 查询电力实时列表(地下变电所L2-状态1_6)
     */
    public List<Electricity> listUnderGroundSubstationH2Status1_6();

    /**
     * lqx
     * 查询电力实时列表(地下变电所L1-状态2_1)
     */
    public List<Electricity> listUnderGroundSubstationL1Status2_1();

    /**
     * lqx
     * 查询电力实时列表(地下变电所-状态5_0)
     */
    public List<Electricity> listUnderGroundSubstationStatus5_0();

    /**
     * lqx
     * 查询电力实时列表(地面变电所-遥测+遥信 - ch)
     */
    List<GroundElectricityDto> selectGroundElectricityDtoList();

    /**
     * lqx
     * 查询电力实时列表(地下变电所高压-遥测+遥信 - ch)
     */
    List<UnderGroundHElectricityDto> selectUnderGroundHElectricityDtoList();

    /**
     * lqx
     * 查询电力实时列表(地下变电所低压-遥测+遥信 - ch)
     */
    List<UnderGroundLElectricityDto> selectUnderGroundLElectricityDtoList();
}

